Allow MXF to do it's "characters are both required and disallowed" thing.
authorrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Sat, 3 Dec 2005 03:05:04 +0000 (03:05 +0000)
committerrobertl <robertl@f51c46e8-681c-474f-0cfe-069cfd0219fb>
Sat, 3 Dec 2005 03:05:04 +0000 (03:05 +0000)
gpsbabel/csv_util.c
gpsbabel/internal_styles.c
gpsbabel/reference/mxf.mxf
gpsbabel/style/mxf.style

index a4e78e7590a86befd78bdca306f1456f38bddc2a..00be882f05d4efcb8b4153ee5a1b16b2fe9ecac6 100644 (file)
@@ -1379,7 +1379,15 @@ xcsv_waypt_pr(const waypoint *wpt)
        
 
         obuff = csv_stringclean(buff, xcsv_file.badchars);
-        fprintf (xcsv_file.xcsvfp, "%s", obuff);
+       /* As a special case (pronounced "horrible hack") we allow
+        * ""%s"" to smuggle bad characters through.
+        */
+       if (0 == strcmp(fmp->printfc, "\"%s\"")) {
+               fprintf (xcsv_file.xcsvfp, "\"%s\"", obuff);
+       } else {
+               fprintf (xcsv_file.xcsvfp, "%s", obuff);
+       }
+
        xfree(obuff);
     }
 
index d8bc29707ade86cbfa2bd8fb55b64e1691eb5143..e1724fe13a60db48bd6cff5ac49788da54fc83cc 100644 (file)
@@ -201,7 +201,7 @@ static char garmin301[] =
 "# HEADER STUFF:\n"
 "#\n"
 "PROLOGUE      Garmin 301 data __FILE__ \n"
-"PROLOGUE      Timestamp,Latitude, Longitude, Atlitude(ft), heart rate\n"
+"PROLOGUE      Timestamp,Latitude, Longitude, Altitude(ft), heart rate\n"
 "#\n"
 "# INDIVIDUAL DATA FIELDS:\n"
 "#\n"
@@ -456,7 +456,7 @@ static char mxf[] =
 "#\n"
 "FIELD_DELIMITER               COMMASPACE\n"
 "RECORD_DELIMITER      NEWLINE\n"
-"BADCHARS              \",\n"
+"BADCHARS              ,\"\n"
 
 "#\n"
 "# INDIVIDUAL DATA FIELDS, IN ORDER OF APPEARANCE:\n"
index ea6d6088e49ca53530607609cd0f4219ca6471de..98d93d1a008d52c4e46c7b94e97e146ef5bfe213 100644 (file)
@@ -1,9 +1,9 @@
-35.97203, -87.13470, Mountain Bike Heaven by susy1313, GCEBB, Mountain Bike Heaven by susy1313, ff0000, 47
-36.09068, -86.67955, The Troll by a182pilot & Family, GC1A37, The Troll by a182pilot & Family, ff0000, 47
-35.99627, -86.62012, Dive Bomber by JoGPS & family, GC1C2B, Dive Bomber by JoGPS & family, ff0000, 47
-36.03848, -86.64862, FOSTER by JoGPS & Family, GC25A9, FOSTER by JoGPS & Family, ff0000, 47
-36.11218, -86.74177, Logan Lighthouse by JoGps & Family, GC2723, Logan Lighthouse by JoGps & Family, ff0000, 47
-36.06408, -86.79052, Ganier Cache by Susy1313, GC2B71, Ganier Cache by Susy1313, ff0000, 47
-36.08777, -86.80973, Shy's Hill by FireFighterEng33, GC309F, Shy's Hill by FireFighterEng33, ff0000, 47
-36.05750, -86.89200, GittyUp by JoGPS / Warner Parks, GC317A, GittyUp by JoGPS / Warner Parks, ff0000, 47
-36.08280, -86.86728, Inlighting by JoGPS / Warner Parks, GC317D, Inlighting by JoGPS / Warner Parks, ff0000, 47
+35.97203, -87.13470, "Mountain Bike Heaven by susy1313", "GCEBB", "Mountain Bike Heaven by susy1313", ff0000, 47
+36.09068, -86.67955, "The Troll by a182pilot & Family", "GC1A37", "The Troll by a182pilot & Family", ff0000, 47
+35.99627, -86.62012, "Dive Bomber by JoGPS & family", "GC1C2B", "Dive Bomber by JoGPS & family", ff0000, 47
+36.03848, -86.64862, "FOSTER by JoGPS & Family", "GC25A9", "FOSTER by JoGPS & Family", ff0000, 47
+36.11218, -86.74177, "Logan Lighthouse by JoGps & Family", "GC2723", "Logan Lighthouse by JoGps & Family", ff0000, 47
+36.06408, -86.79052, "Ganier Cache by Susy1313", "GC2B71", "Ganier Cache by Susy1313", ff0000, 47
+36.08777, -86.80973, "Shy's Hill by FireFighterEng33", "GC309F", "Shy's Hill by FireFighterEng33", ff0000, 47
+36.05750, -86.89200, "GittyUp by JoGPS / Warner Parks", "GC317A", "GittyUp by JoGPS / Warner Parks", ff0000, 47
+36.08280, -86.86728, "Inlighting by JoGPS / Warner Parks", "GC317D", "Inlighting by JoGPS / Warner Parks", ff0000, 47
index e0229b792469d41a1d153004203629e7855906ee..606f40bb332d2d81e98d7d2fcc0479461b3beab1 100644 (file)
@@ -17,7 +17,7 @@ EXTENSION             mxf
 #
 FIELD_DELIMITER                COMMASPACE
 RECORD_DELIMITER       NEWLINE
-BADCHARS               ",
+BADCHARS               ,"
 
 #
 # INDIVIDUAL DATA FIELDS, IN ORDER OF APPEARANCE: